package com.copm.ifm.common.process.pojo.define;

import com.baomidou.mybatisplus.annotation.TableName;
import com.copm.ifm.base.api.pojo.BasePO;
import com.copm.ifm.common.process.core.emum.ProcessHandleTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.Map;

/**
 * 流程定义实体类
 *
 * @author zzf
 * @date 12:01 2021/3/16
 */
@Getter
@Setter
@TableName("process_define")
@ApiModel("流程定义实体类")
public class ProcessDefine extends BasePO {

    @ApiModelProperty("名称")
    private String name;

    @ApiModelProperty("关联的表对应的实体类")
    private Class<?> targetClass;

    @ApiModelProperty("用户信息对应的实体类")
    private Class<?> userClass;

    private Map<String, String> targetFieldMap;

    private Map<String, String> userFieldMap;

    /**
     * @see ProcessHandleTypeEnum
     */
    private Integer handleType;

    @ApiModelProperty("前端打开流程时触发操作")
    private String eventAtOpen;

    @ApiModelProperty("前端关闭流程时触发操作")
    private String eventAtClose;

    @ApiModelProperty("打开流程时触发操作")
    private String afterFinish;

    @ApiModelProperty("打开流程时触发操作")
    private String beforeBegin;


}
